home *** CD-ROM | disk | FTP | other *** search
- global gcurrlessonnumber, gcurrchapternumber, gstartupflag, gchapternumber, gindexmaplist, gFieldTop, gchaptertextheight, glessonnumber, gplaystatus, theDoubleClick, gColor, onIBM, gPauseMode, theQTMovie, gMoovOutTime, objChapterBtn, gSoundLevel, objVolumeBtn, gmasterfolderpath, gDelimiter, theBlitPict, gPictTransition, grectlist, galllessonlist, gallchapterlist, gPICTQTList
-
- on sliderStillDown
- showchaptername(the currentNo of objChapterBtn)
- end
-
- on sliderMouseUp
- donewchapter(gcurrlessonnumber, the currentNo of objChapterBtn, #pause)
- end
-
- on setchapbtnloc chapternumber
- slideLocSet(objChapterBtn, chapternumber)
- end
-
- on volMouseStillDown
- set gSoundLevel to the currentNo of objVolumeBtn - 1
- setSoundLevel()
- end
-
- on volMouseUp
- setVolumeButtonLoc()
- set gSoundLevel to the currentNo of objVolumeBtn - 1
- setSoundLevel()
- if gPauseMode then
- puppetSound("Sosumi.snd")
- updateStage()
- repeat while soundBusy(1)
- end repeat
- puppetSound(0)
- end if
- end
-
- on setSoundLevel
- QTSetAudioLevel(theQTMovie, getAt([0, 36, 73, 109, 146, 182, 219, 255], gSoundLevel + 1))
- set the soundLevel to gSoundLevel
- end
-
- on setVolumeButtonLoc
- slideLocSet(objVolumeBtn, gSoundLevel + 1)
- end
-
- on pushBtn
- set btnCN to the castNum of sprite clickOn()
- repeat while stillDown()
- if rollOver(clickOn()) then
- set the castNum of sprite clickOn() to btnCN + 1
- else
- set the castNum of sprite clickOn() to btnCN
- end if
- updateStage()
- end repeat
- set the castNum of sprite clickOn() to btnCN
- updateStage()
- end
-
- on settoplayingbtn
- set gPauseMode to 0
- set the castNum of sprite 10 to 4
- updateStage()
- end
-
- on settopausingbtn
- set gPauseMode to 1
- set the castNum of sprite 10 to 2
- updateStage()
- end
-
- on donewchapter newlessonnumber, newchapternumber, playstatus
- if playstatus = #fastPlay then
- if pictname(newchapternumber) = pictname(gcurrchapternumber) then
- setchapbtnloc(newchapternumber)
- showchaptername(newchapternumber)
- settimecallback(newchapternumber)
- set gcurrchapternumber to newchapternumber
- set gplaystatus to #play
- exit
- end if
- end if
- watchon()
- pausethemoov()
- if (newlessonnumber <> gcurrlessonnumber) or gstartupflag then
- disposethemoov()
- set gcurrlessonnumber to newlessonnumber
- set gchapternumber to getchapternumber(newlessonnumber)
- set the locV of sprite 7 to (newlessonnumber * gchaptertextheight) + gFieldTop
- set the foreColor of cast 32 to getAt(gColor, 1)
- set the foreColor of line newlessonnumber of cast 32 to getAt(gColor, 2)
- updateStage()
- if gchapternumber = 0 then
- set the visible of sprite 10 to 0
- set the visible of sprite 13 to 0
- set the visible of sprite 11 to 0
- set the visible of sprite 12 to 0
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- showchaptername(0)
- showpreview(gcurrlessonnumber)
- watchoff()
- exit
- end if
- slideListSet(objChapterBtn, gchapternumber)
- if gchapternumber = 1 then
- set the visible of sprite 13 to 0
- updateStage()
- else
- set the visible of sprite 13 to 1
- updateStage()
- end if
- if not gstartupflag then
- set gstartupflag to 1
- end if
- end if
- set the visible of sprite 10 to 1
- updateStage()
- if newchapternumber = gchapternumber then
- set the visible of sprite 12 to 0
- updateStage()
- if qtkind(newchapternumber) = 0 then
- set the visible of sprite 10 to 0
- updateStage()
- end if
- else
- set the visible of sprite 12 to 1
- updateStage()
- end if
- if newchapternumber = 1 then
- set the visible of sprite 11 to 0
- updateStage()
- else
- set the visible of sprite 11 to 1
- updateStage()
- end if
- if gchapternumber > 1 then
- setchapbtnloc(newchapternumber)
- end if
- showchaptername(newchapternumber)
- if TEXTName(newchapternumber) = EMPTY then
- set the visible of sprite 22 to 0
- updateStage()
- if gstartupflag then
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- disposethemoov()
- if pictkind(newchapternumber) <> 0 then
- openpictfile(newchapternumber)
- end if
- if smallscreen(newchapternumber) then
- showpreview(gcurrlessonnumber)
- end if
- else
- set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
- if getAt(thePPC, 2) = 1 then
- showpreview(gcurrlessonnumber)
- else
- if getAt(thePPC, 2) = 2 then
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- else
- if getAt(thePPC, 2) = 3 then
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- showpreview(gcurrlessonnumber)
- end if
- end if
- end if
- if getAt(thePPC, 1) = 1 then
- openpictfile(newchapternumber)
- else
- if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
- openpictfile(newchapternumber)
- end if
- end if
- end if
- else
- if gstartupflag then
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- disposethemoov()
- if pictkind(newchapternumber) <> 0 then
- openpictfile(newchapternumber)
- end if
- if smallscreen(newchapternumber) then
- showpreview(gcurrlessonnumber)
- end if
- else
- set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
- if getAt(thePPC, 2) = 1 then
- showpreview(gcurrlessonnumber)
- else
- if getAt(thePPC, 2) = 2 then
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- else
- if getAt(thePPC, 2) = 3 then
- set the visible of sprite 24 to 1
- set the visible of sprite 24 to 0
- updateStage()
- showpreview(gcurrlessonnumber)
- end if
- end if
- end if
- if getAt(thePPC, 1) = 1 then
- openpictfile(newchapternumber)
- else
- if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
- openpictfile(newchapternumber)
- end if
- end if
- end if
- openTEXTfile(newchapternumber)
- set the visible of sprite 22 to 1
- updateStage()
- end if
- if qtkind(newchapternumber) <> 0 then
- if the movieid of theQTMovie = EMPTY then
- openqtmovie(newchapternumber)
- setintime(newchapternumber)
- settimecallback(newchapternumber)
- else
- if qtname(newchapternumber) <> qtname(gcurrchapternumber) then
- disposethemoov()
- openqtmovie(newchapternumber)
- setintime(newchapternumber)
- settimecallback(newchapternumber)
- else
- if playstatus = #contPlay then
- settimecallback(newchapternumber)
- else
- if intime(newchapternumber) >= outtime(gcurrchapternumber) then
- settimecallback(newchapternumber)
- setintime(newchapternumber)
- else
- setintime(newchapternumber)
- settimecallback(newchapternumber)
- end if
- end if
- end if
- end if
- if (playstatus = #play) or (playstatus = #contPlay) then
- playthemoov()
- set the visible of sprite 11 to 1
- updateStage()
- set gplaystatus to #play
- else
- if playstatus = #pause then
- pausethemoov()
- refreshthemoov()
- set gplaystatus to #pause
- end if
- end if
- else
- setAt(getAt(gindexmaplist, gcurrlessonnumber), newchapternumber, 1)
- disposethemoov()
- settopausingbtn()
- end if
- if gstartupflag then
- set gstartupflag to 0
- end if
- set gcurrchapternumber to newchapternumber
- watchoff()
- end
-
- on showchaptername chapternumber
- set the text of cast 33 to chaptername(chapternumber)
- updateStage()
- end
-
- on openqtmovie chapternumber
- set filepath to gmasterfolderpath & currlessonname() & gDelimiter & qtname(chapternumber)
- QTOpenMovie(theQTMovie, filepath, gettherect(qtkind(chapternumber)))
- if result() contains "Error" then
- set the movieid of theQTMovie to EMPTY
- exit
- end if
- setSoundLevel()
- end
-
- on refreshthemoov
- qtrefresh(theQTMovie)
- end
-
- on disposethemoov
- QTDispose(theQTMovie)
- end
-
- on playthemoov
- settoplayingbtn()
- QTPlay(theQTMovie)
- set gPauseMode to 0
- end
-
- on pausethemoov
- settopausingbtn()
- QTPause(theQTMovie)
- set gPauseMode to 1
- end
-
- on setintime chapternumber
- QTSetCurrTime(theQTMovie, intime(chapternumber))
- end
-
- on settimecallback chapternumber
- set gMoovOutTime to outtime(chapternumber)
- end
-
- on callbackplay
- setAt(getAt(gindexmaplist, gcurrlessonnumber), gcurrchapternumber, 1)
- set cb to qtcallback(gcurrchapternumber)
- if cb = 4 then
- donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #fastPlay)
- else
- if cb = 1 then
- donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #contPlay)
- else
- if cb = 2 then
- pausethemoov()
- disposethemoov()
- donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #play)
- else
- if cb = 3 then
- if gcurrlessonnumber = glessonnumber then
- pausethemoov()
- disposethemoov()
- donewchapter(1, 1, #play)
- else
- pausethemoov()
- disposethemoov()
- donewchapter(gcurrlessonnumber + 1, 1, #play)
- end if
- end if
- end if
- end if
- end if
- end
-
- on openTEXTfile chapternumber
- global gmasterfolderpath, gDelimiter
- fileIOread(gmasterfolderpath & currlessonname() & gDelimiter & TEXTName(chapternumber))
- set the text of cast 86 to the result
- end
-
- on openpictfile chapternumber
- set pictfilepath to gmasterfolderpath & currlessonname() & gDelimiter & pictname(chapternumber)
- set destrect to gettherect(pictkind(chapternumber))
- blitPictDrawFile(theBlitPict, pictfilepath, destrect, "copy", gPictTransition, 0)
- end
-
- on gettherect kind
- return getAt(grectlist, kind)
- end
-
- on getchapternumber lessonnumber
- return getAt(getAt(galllessonlist, lessonnumber), 2)
- end
-
- on intime chapternumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 4)
- end
-
- on outtime chapternumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 5)
- end
-
- on qtcallback chapternumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 10)
- end
-
- on pictname chapternumber
- if onIBM then
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 7)
- else
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 6)
- end if
- end
-
- on pictkind chapternumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 8)
- end
-
- on qtname chapternumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 2)
- end
-
- on qtkind chapternumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 3)
- end
-
- on currlessonname
- return getAt(getAt(galllessonlist, gcurrlessonnumber), 1)
- end
-
- on chaptername chapternumber
- if chapternumber = 0 then
- return EMPTY
- else
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 1)
- end if
- end
-
- on pictPrevClear prevparagraph, nextparagraph
- set prevCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), prevparagraph), 9)
- set nextCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), nextparagraph), 9)
- return [getAt(getAt(getAt(gPICTQTList, 1), prevCh), nextCh), getAt(getAt(getAt(gPICTQTList, 2), prevCh), nextCh)]
- end
-
- on smallscreen paragraph
- return getAt(getAt(gPICTQTList, 3), getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), paragraph), 9))
- end
-
- on TEXTName chapternumber
- global gallchapterlist, gcurrlessonnumber
- return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 11)
- end
-